package com.basic.modules.ykf.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.basic.common.utils.PageUtils;
import com.basic.modules.ykf.entity.YkfAccountInputRecordEntity;
import com.basic.common.utils.ParamsModel;
import com.basic.modules.ykf.entity.YkfCustomerShopEntity;
import com.basic.modules.ykf.entity.YkfCustomerSubAccountEntity;
import com.basic.modules.ykf.model.CommissionModel;
import com.basic.modules.ykf.model.ExcelReq;
import com.basic.modules.ykf.model.ServiceDataModel;
import com.basic.modules.ykf.model.ToBeEnteredRsp;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import java.util.Map;

/**
 * 子账号录入记录
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-05-31 17:00:21
 */
public interface YkfAccountInputRecordService extends IService<YkfAccountInputRecordEntity> {

    PageUtils queryPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils toBeEnteredPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils dayPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils overallPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils warningPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils customerDataPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils sumSalesRevenuePage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils sumInputCountPage(ParamsModel<YkfAccountInputRecordEntity> params);

    void editRecord(YkfAccountInputRecordEntity params);

    PageUtils sumCustomerPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils personalCustomerDataPage(ParamsModel<YkfAccountInputRecordEntity> params);

    PageUtils personalServiceDataPage(ParamsModel<YkfAccountInputRecordEntity> params);

    List<CommissionModel> personalCommissionCheckPage(YkfAccountInputRecordEntity condition);

    List<CommissionModel> personalCommissionCheckList(ExcelReq req);

    List<CommissionModel> commissionCheckPage(YkfAccountInputRecordEntity condition);
    Map<String, Object> commissionCheckPage3(YkfAccountInputRecordEntity condition);

    List<CommissionModel> commissionCheckForShop(YkfCustomerShopEntity condition);

    List<CommissionModel> sumCommissionCheckPage(YkfAccountInputRecordEntity condition);

    CommissionModel commissionCheckPage(Long userId);

    List<ServiceDataModel> serviceData(ServiceDataModel serviceData);

    void dataQueryInput(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis1(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis2(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis2Detail(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis3(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis4(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis5(ExcelReq req, HttpServletResponse response) throws IOException;

    void personal1(ExcelReq req, HttpServletResponse response) throws IOException;

    void personal2(ExcelReq req, HttpServletResponse response) throws IOException;

    void personal3(ExcelReq req, HttpServletResponse response) throws IOException;

    void personal4(ExcelReq req, HttpServletResponse response) throws IOException;

    void commissionVerification(ExcelReq req, HttpServletResponse response) throws IOException;

    void monthlyCommission(ExcelReq req, HttpServletResponse response) throws IOException;

    List<Map<String, Object>> toBeEnteredList();

    void serviceCharge(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis4Detail(ExcelReq req, HttpServletResponse response) throws IOException;

    void dataQueryAnalysis5Detail(ExcelReq req, HttpServletResponse response) throws IOException;
}

